This invention relates generally to data and information communication systems and their operation, and, more particularly, to the field of storage area networking. Even more particularly, the present invention relates to Fibre Channel-to-SCSI storage area networks (SANs) and to a method and system for overlapping data flow from source to destination within a SCSI extended copy command.
Dramatic growth in the amount of data that organizations must store combined with the need for faster, more reliable and more efficient data access and data management capabilities, have led many organizations to seek improved ways of storing, accessing and managing data. In traditional computer the prevailing computer protocol used to connect network components and transfer data between, for example, a server and storage device, is the small computer system interface, or xe2x80x9cSCSIxe2x80x9d. As data storage and retrieval requirements increase, the need for fast, efficient and reliable data storage and retrieval solutions is also increasing.
For example, one problem existing in the SCSI protocol is that when performing a data backup operation, a host device will typically read data from a source device into the host device and then write the data to a destination device, for example, a tape backup drive. The host device thus remains occupied during the entire backup operation, and its resources cannot be devoted to other operations. Furthermore, in most organizations today, data backupxe2x80x94creating a duplicate copy of data to protect it from corruption or lossxe2x80x94is accomplished by moving large volumes of stored data from a dedicated storage device over a primary computer network to a backup storage device. Since the primary computer network is also responsible for conducting day-to-day computing operations, this added data movement results in substantial congestion, slowing day-to-day computing operations.
The SCSI protocol extended copy command and the use of storage area networks (SANs), which are computer networks dedicated to data storage, can help resolve some of these problems. The SCSI extended copy command is a copy command that releases the host""s resources during a backup operation by transferring responsibility for performing the backup operation to a different processor on a copy manager device, such as a router (e.g., a Fibre Channel-to-SCSI router), that supports the extended copy command. The host is thus free to perform other operations for the network while the copy manager device directs the backup operation.
Storage area networks use a different, higher performance, computer protocol, known as Fibre Channel, to transfer data. A storage area network also allows many servers to connect to and share access to many storage devices. The many-to-many connection enabled by the storage area network, combined with the Fibre Channel protocol, permits faster, more efficient, more reliable and more manageable data transfer processes. Furthermore, a storage area network can be used to perform data backup operations instead of the primary computer network, thus substantially reducing congestion on the primary computer network and allowing more efficient day-to-day network operations.
Most current storage devices continue to be sold with the small computer system interface. Additionally, most organizations have made significant investments in storage devices and servers that use the small computer system interface. Therefore, in order for storage area network devices that use Fibre Channel to function with storage devices that use SCSI, Fibre Channel-to-SCSI storage routers must be installed between these devices. In particular, storage routers are essential to shifting data backup processes from a primary computer network to the storage area network, since most data backup storage devices use the SCSI interface and can only connect to the storage area network through a storage router. As new computer protocols are introduced, storage routers will be increasingly essential to enable rapid, seamless communication among servers, storage devices and storage area network devices that use diverse protocols.
However, current implementations of the SCSI extended copy command only support serialized data transfer operations. Current implementations of the SCSI extended copy command perform data transfers by first performing a single read from a source followed by a single write to a destination. This means that only one device, whether the source or the destination, is being utilized at any given time. Therefore, either the source or the destination device, alternately, is left waiting, resulting in poor data transfer performance.
An extended copy command may have multiple segments, with each segment designated a data transfer operation between a source and a destination. Current implementations of the extended copy command thus must first read in all of the data requested from a source device and then write out all of that data to the destination device for each segment, in a serial sequence. Although logically this arrangement is very simple to implement, performance is slow due to the serial nature of the data transfers involved. There is no overlap of read and write operations between destination and source devices, either within a segment or between segments in an extended copy command.
Present implementations of the SCSI extended copy command thus cannot provide for overlap between data reads and data writes either within a single segment or between segments of an extended copy command. Streaming of data between a source and a destination as part of executing an extended copy command is therefore not possible under current implementations of the extended copy command.
Further, because data cannot be consistently streamed using current implementations of the extended copy command, streaming devices, such as backup tape devices, may have to start and stop continuously. This is because the requested data must first be read before a write can be performed at the destination device. Simultaneous read and writes are not possible. As a result, the sequential access device may have to be stopped following a write operation while a read is performed, and then started again when a write is performed. These starts and stops are mechanical operations which can result in performance decreases. These performance decreases can be reduced or eliminated if data can be streamed to the backup device.
Therefore, a need exists for a method and system for overlapping data flow within an extended copy command that can simultaneously read data in from a source device and write data out to a destination device, thus allowing for overlapping read and write commands.
Furthermore, a need exists for a method and system for overlapping data flow within an extended copy command that can provide for simultaneous reading from a source device and writing to a destination device across segments within an extended copy command. In this way, data flow overlap can occur between the potentially multiple segments of an extended copy command.
An even further need exists for a method and system for overlapping data flow within an extended copy command that can be implemented as software instructions within a router, such as Fibre Channel-to-SCSI router, in a network, such as a Fibre Channel-to-SCSI network.
Further still, a need exists for a method and system for overlapping data flow within an extended copy command that can provide for streaming data to a network device, such as a tape drive, to reduce or eliminate starts and stops of the device, and the consequent performance penalties that accompany these operations, typical with current implementations of the extended copy command.
The present invention provides a method and system for overlapping data flow within a SCSI extended copy command that substantially eliminates or reduces the disadvantages and problems associated with the use of the SCSI extended copy command, such as those associated with the SCSI extended copy command such as those associated with the SCSI extended copy command presently implemented in the T10/99-143r1 specification.
In particular, the present invention provides a method for overlapping data flow within an extended copy command over a network, one embodiment of the method comprising, at a router in the network: receiving an extended copy command from a first host to a first target device; if the network status is unknown, determining an initial network status; initializing a set of read-write parameters; and executing the extended copy command for a first segment of the extended copy command and for one or more subsequent segments by overlapping one or more read and one or more write commands of the extended copy command. Executing the extended copy command can further comprise issuing a set of initial commands for the first segment of the extended copy command; issuing a set of initial commands for each subsequent segment of the extended copy command as it is received; performing a read completion operation for each segment of the extended copy command; and performing a write completion operation for each segment of the extended copy command. Execution of the extended copy command for one segment need not be complete before execution of a subsequent segment is commenced. Similarly, execution of the extended copy command for each segment need not be completed in sequence (i.e., a subsequent segment""s read/write sequence can be completed before the read/write sequence of a prior segment is complete). Issuing the set of initial commands can comprise executing an initial commands algorithm. Performing the read completion and the write completion operations can comprise executing a read completion algorithm and executing a write completion algorithm, respectively.
The method and system for overlapping data flow within an extended copy command of this invention provide a technical advantage in that they can provide for simultaneously reading data in from a source device and writing data out to a destination device, thus allowing for simultaneous outstanding read and write commands.
Another technical advantage of the method and system of the present invention is that they can provide for simultaneous reading from a source device and writing to a destination device across segments within an extended copy command.
Still another technical advantage of the method and system of the present invention is that they can be implemented as software instructions within a router in a network.
Yet another technical advantage of the method and system for overlapping data flow within an extended copy command of the present invention is that they can provide for streaming data to a network device, such as a tape drive, to reduce or eliminate the starts and stops of the device, and the consequent performance penalties that accompany these operations, typical with current implementations of the extended copy command.